library(estimatr)
library(hrbrthemes)
library(qualtRics)
library(tidyverse)
library(magrittr)
library(broom)
library(estimatr)
library(showtext)
library(emmeans)
library(gridExtra)
library(patchwork)
library(xtable)
library(sysfonts)
library(grf)

# Install Roboto on your machine before proceeding
font_add_google("Roboto Condensed")
import_roboto_condensed()

df <- rio::import("fc_data.csv")

# Figure 1 --------------------------------------------------------------------
ates <- lm_robust(belief ~ condition + pre_belief + 
                    pre_fcont + pre_vaccine + interpersonal_trust + 
                    media_trust + social_trust + trial + spanish + 
                    pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source, data = df,
               clusters = id)

ates %>%
  emmeans(specs = consec ~ condition) %>%
  extract2(., "emmeans") %>%
  as.data.frame() %>%
  ggplot(aes(x = forcats::fct_reorder(condition,
                                      c(3,2,1)), y = emmean, 
             label = round(emmean, 1))) +
  geom_linerange(aes(ymin = lower.CL, ymax = upper.CL),
                 size = 2) +
  theme_ipsum_rc() +
  geom_point(size = 6) +
  #geom_point(size = 13, col = "black") +
  #geom_point(size = 12.5, col = "white") +
  #geom_text(size = 6, col = "black") +
  labs(y = "Belief Accuracy (Ordinal)", x = "") +
  theme(plot.title = element_text(hjust = 0.5)) +
  coord_flip() -> ate.1

ate.1 + theme(axis.title.x = element_text(size = 20), 
              axis.text.y = element_text(size = 20),
              axis.text.x = element_text(size = 18)) +
  theme(plot.margin = unit(c(.05,.05,.05,.05), "cm")) +
  geom_segment(aes(x = 2.3, y = 2.835,  yend = 2.835, xend = 2.55),
               linetype = "dashed", alpha = .25) +
  geom_segment(aes(x = 2.55, y = 2.835,  yend = 3, xend = 2.55),
               linetype = "dashed", alpha = .25) +
  geom_segment(aes(x = 2.55, y = 3,  yend = 3, xend = 2.7),
               linetype = "dashed", alpha = .25) +
  geom_segment(aes(x = 1.75, y = 2.835,  yend = 2.835, xend = 1.5),
               linetype = "dashed", alpha = .25) +
  geom_segment(aes(x = 1.5, y = 2.835,  yend = 3.1, xend = 1.5),
               linetype = "dashed", alpha = .25) +
  geom_segment(aes(x = 1.5, y = 3.1,  yend = 3.1, xend = 1.25),
               linetype = "dashed", alpha = .25) +
  geom_label(aes(x = 2.55, y = 2.9, label = "-.16***"),
             label.size = NA, size = 6) +
  geom_label(aes(x = 1.5, y = 2.975, label = ".26***"),
             label.size = NA, size = 6)

#ggsave("fig1.eps", 
#       width = 10,
#       height = 5,
#       device = cairo_ps)

# Figure 2 --------------------------------------------------------------------
df %>%
  group_by(claim) %>%
  do(mod = broom::tidy(lm_lin(belief ~ fc.v.misinfo,
                              covariates = ~ pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
                              data = .,
                              clusters = id)),
     mod2 = broom::tidy(lm_lin(belief ~ misinfo.v.control,
                               covariates = ~ pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
                               data = .,
                               clusters = id))) -> results

results %>% unnest(cols = c(mod)) %>% 
  filter(term == "fc.v.misinfo") %>% 
  bind_rows(results %>% 
              unnest(cols = c(mod2)) %>% 
              filter(term == "misinfo.v.control")) %>%
  mutate(term = plyr::mapvalues(
    term,
    c("fc.v.misinfo", "misinfo.v.control"),
    c("Correction Effect", "Misinformation Effect")
  )) -> cleaned.table

cleaned.table %>%
  ggplot(aes(x = forcats::fct_reorder(claim,
                                      estimate), y = estimate)) +
  geom_point(size = 5) +
  geom_linerange(aes(ymin = conf.low, ymax = conf.high), size = 2) +
  facet_wrap(. ~ forcats::fct_rev(term), nrow = 1) +
  coord_flip() +
  theme_ipsum_rc() +
  geom_hline(yintercept = 0) +
  labs(x = "", y = "Estimate (Ordinal)") +
  theme(axis.title.x = element_text(size = 20),
        axis.text.x = element_text(size = 15),
        strip.text.x = element_text(size = 15),
        axis.text.y = element_text(size = 15)) +
  theme(plot.margin = unit(c(1,1,.05,.05), "cm"))

#ggsave("fig2.eps", 
#       device = "eps",
#       width = 10,
#       height = 5)

# Figure 3 --------------------------------------------------------------------
lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = spanish == 1 & bilingual == 0,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> spanish.ate

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = spanish == 0 & bilingual == 0,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> english.ate

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = bilingual == 1,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> bilingual.ate

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = fb == 0,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> native.born

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = fb == 1,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> foreign.born

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = ntile(df$media_trust, 3) == 1,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> media.trust.low

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = ntile(df$media_trust, 3) == 3,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> media.trust.high

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = df$whatsapp_groups == 0,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> whatsapp.low

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = df$whatsapp_groups == 1,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> whatsapp.high

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = ntile(df$sl_usage, 3) == 1,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> sl.low

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = ntile(df$sl_usage, 3) == 3,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> sl.high

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = ntile(df$latam_connections, 3) == 1,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> latam.low

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = ntile(df$latam_connections, 3) == 3,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> latam.high

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = ntile(df$pk_scale, 3) == 1,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> pk.low

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = ntile(df$pk_scale, 3) == 3,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> pk.high

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = ntile(df$pre_fcont, 3) == 1,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> prior.low

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = ntile(df$pre_fcont, 3) == 3,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> prior.high

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = df$pid == 1,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> dem

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = df$pid == 2,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> rep

lm_robust(belief ~ condition + pre_belief + pre_fcont + pre_vaccine + interpersonal_trust + media_trust + social_trust + trial + spanish + pre_ft1 + pre_ft2 + pre_ft3 + pre_ft4 + source,
          data = df,
          subset = df$pid == 3,
          clusters = id) %>%
  emmeans(specs = consec ~ condition) -> ind

spanish.ate %>%
  extract2(., "contrasts") %>%
  as.data.frame() %>%
  bind_cols(subgroup = "Spanish", group = "language preference", meta = "acculturation") %>%
  bind_rows(english.ate %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% bind_cols(subgroup = "English", group = "language preference",  meta = "acculturation")) %>%
  bind_rows(bilingual.ate %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Either", group = "language preference",  meta = "acculturation")) %>%
  bind_rows(native.born %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Native Born", group = "nativity",  meta = "acculturation")) %>%
  bind_rows(foreign.born %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Foreign Born", group = "nativity",  meta = "acculturation")) %>%
  bind_rows(media.trust.low %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Low", group = "trust in media",  meta = "information environment")) %>%
  bind_rows(media.trust.high %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "High", group = "trust in media",
                        meta = "information environment")) %>%
  bind_rows(whatsapp.low %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "No", group = "whatsapp groups",  meta = "information environment")) %>%
  bind_rows(whatsapp.high %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Yes", group = "whatsapp groups",
                        meta = "information environment")) %>%
  bind_rows(sl.low %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Low", group = "spanish-language media",
                        meta = "information environment")) %>%
  bind_rows(sl.high %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "High", group = "spanish-language media",
                        meta = "information environment")) %>%
  bind_rows(latam.low %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Low", group = "latam connections",
                        meta = "acculturation")) %>%
  bind_rows(latam.high %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "High", group = "latam connections",
                        meta = "acculturation")) %>%
  bind_rows(pk.low %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Low", group = "political knowledge",
                        meta = "predispositions")) %>%
  bind_rows(pk.high %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "High", group = "political knowledge",
                        meta = "predispositions")) %>%
  bind_rows(dem %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Democrat", group = "partisanship",
                        meta = "predispositions")) %>%
  bind_rows(rep %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Republican", group = "partisanship",
                        meta = "predispositions")) %>%
  bind_rows(ind %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Independent", group = "partisanship",
                        meta = "predispositions")) %>%
  bind_rows(dem %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Democrat", group = "partisanship",
                        meta = "predispositions")) %>%
  bind_rows(prior.low %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "Low Accuracy", group = "prior beliefs",
                        meta = "predispositions")) %>%
  bind_rows(prior.high %>% 
              extract2(., "contrasts") %>%
              as.data.frame() %>% 
              bind_cols(subgroup = "High Accuracy", group = "prior beliefs",
                        meta = "predispositions")) %>%
  mutate(contrast = plyr::mapvalues(contrast,
                                    c("Misinformation - Control",
                                      "(Misinformation + Fact Check) - Misinformation"),
                                    c("Misinformation Effect", "Correction Effect"))) %>%
  mutate(contrast = forcats::fct_rev(contrast)) -> subgroup.df; condition <- 0

t4 <- subgroup.df %>% 
  as_tibble %>% 
  select(
    subgroup:meta
  ) %>% 
  distinct %>% 
  mutate(
    subgroup = subgroup %>% 
      factor(
        
        c("Spanish", "English",  "Either",
          "High", "Low",
          "Foreign Born", "Native Born",
          "Yes", "No",
          "Democrat", "Independent", "Republican", 
          "High Accuracy", "Low Accuracy")
      )
  ) %>% 
  arrange(
    meta, group, subgroup
  ) %>% 
  group_by(
    meta, group
  ) %>% 
  nest

t5 <- subgroup.df %>% 
  as_tibble %>% 
  left_join(
    t4 %>% 
      pmap_dfr(
        function(group, meta, data)
          data %>%
          mutate(
            sg1 = 1:n(),
            group = group, 
            meta = meta
          )
      ) %>% 
      mutate(
        ylab = sg1 %>% 
          equals(
            1
          ) %>% 
          ifelse(
            str_c(
              group %>% 
                str_to_title, ": ",
              subgroup %>% 
                str_to_title
            ),
            str_c(
              group %>% 
                str_to_title, ": ",
              subgroup %>% 
                str_to_title
            )
          ) %>% 
          fct_inorder
      ) %>% 
      select(-sg1)
  ) %>% 
  mutate(
    elab = estimate %>% 
      round(2) %>% 
      str_replace(
        "\\d\\.", 
        "\\."
      ) %>% 
      str_c(
        p.value %>% 
          gtools::stars.pval() %>% 
          str_remove_all("\\.")
      ) %>% 
      str_trim
  )

t5 %>% 
  ggplot() +
  geom_vline(
    xintercept = 0, 
    linetype = "dashed"
  ) +
  geom_linerange(
    aes(
      xmin = estimate %>% 
        subtract(
          SE %>% 
            multiply_by(1.96)
        ),
      xmax = estimate %>% 
        add(
          SE %>% 
            multiply_by(1.96)
        ),
      y = ylab
    )
  ) +
  facet_grid(
    meta ~ contrast, 
    scales = "free"
  )

t5$g2 <- t5$group %>% 
  str_replace_all("\\s", "\n")

t5 %<>% 
  bind_rows(
    expand_grid(
      meta = t5$meta %>% 
        unique,
      contrast  = t5$contrast %>% 
        unique 
    ) %>% 
      mutate(
        xval = contrast %>% 
          str_detect("Misinformation") %>% 
          ifelse(-.4, .4)
      ) %>% 
      bind_rows(
        expand_grid(
          meta = t5$meta %>% 
            unique,
          contrast  = t5$contrast %>% 
            unique 
        ) %>% 
          mutate(
            xval = contrast %>% 
              str_detect("Misinformation") %>% 
              ifelse(.075, NA)
          ) 
      ) %>% 
      left_join(
        t5 %>% 
          group_by(
            meta, contrast
          ) %>% 
          slice(1) %>% 
          select(
            meta, contrast, subgroup, g2
          )
      )
  )

t5$g2 %<>% 
  str_replace_all("in\nmedia", "in media") %>% 
  str_to_title %>% 
  str_replace("\nIn", "\nin") %>% 
  str_replace("Latam", "LatAm")

pc_1 <- t5 %>% 
  filter(
    meta == "acculturation"
  ) %>% 
  ggplot() +
  geom_vline(
    xintercept = 0, 
    linetype = "dashed"
  ) + 
  geom_linerange(
    aes(
      xmin = estimate %>% 
        subtract(
          SE %>% 
            multiply_by(1.96)
        ),
      xmax = estimate %>% 
        add(
          SE %>% 
            multiply_by(1.96)
        ),
      y = subgroup
    )
  ) +
  geom_point(
    aes(
      estimate, subgroup
    ),
    shape = 21,
    fill = "white",
    size = 4
  ) +
  geom_point(
    aes(
      xval, subgroup
    ),
    color = "transparent" 
  ) +
  facet_grid(
    g2 ~ contrast, 
    scales = "free",
    space = "free_y"
  ) +
  labs(
    x = "",
    y = "",
    title = "Acculturation"
  ) +
  scale_x_continuous(
    labels = NULL,
    breaks = seq(-.4, .4, .1)
  ) +
  theme_ipsum_rc(
    base_family = "Roboto Condensed"
  ) +
  theme(
    panel.grid.minor = element_blank(),
    strip.text.y = element_text(angle = 0),
    strip.text.x = element_text(hjust = .5),
    plot.title.position = "plot",
    plot.margin = margin(0, 0, 0, 0, unit = "pt")
  ) 

pc_2 <- t5 %>% 
  filter(
    meta == "information environment"
  ) %>% 
  ggplot() +
  geom_vline(
    xintercept = 0, 
    linetype = "dashed"
  ) + 
  geom_linerange(
    aes(
      xmin = estimate %>% 
        subtract(
          SE %>% 
            multiply_by(1.96)
        ),
      xmax = estimate %>% 
        add(
          SE %>% 
            multiply_by(1.96)
        ),
      y = subgroup
    )
  ) +
  geom_point(
    aes(
      estimate, subgroup
    ),
    shape = 21,
    fill = "white",
    size = 4
  ) +
  geom_point(
    aes(
      xval, subgroup
    ),
    color = "transparent" 
  ) +
  facet_grid(
    g2 ~ contrast, 
    scales = "free",
    space = "free_y"
  ) +
  labs(
    x = "",
    y = "",
    title = "Information Environment"
  ) +
  scale_x_continuous(
    breaks = seq(-.4, .4, .1),
    labels = NULL) +
  theme_ipsum_rc(
    base_family = "Roboto Condensed"
    
  ) +
  theme(
    plot.title.position = "plot",
    panel.grid.minor = element_blank(),
    strip.text.y = element_text(angle = 0),
    strip.text.x = element_blank(),
    plot.margin = margin(0, 0, 0, 0, unit = "pt")
    
  ) 

pc_3 <- t5 %>% 
  filter(
    meta == "predispositions"
  ) %>% 
  ggplot() +
  geom_vline(
    xintercept = 0, 
    linetype = "dashed"
  ) + 
  geom_linerange(
    aes(
      xmin = estimate %>% 
        subtract(
          SE %>% 
            multiply_by(1.96)
        ),
      xmax = estimate %>% 
        add(
          SE %>% 
            multiply_by(1.96)
        ),
      y = subgroup
    )
  ) +
  geom_point(
    aes(
      estimate, subgroup
    ),
    shape = 21,
    fill = "white",
    size = 4
  ) +
  geom_point(
    aes(
      xval, subgroup
    ),
    color = "transparent" 
  ) +
  facet_grid(
    g2 ~ contrast, 
    scales = "free",
    space = "free_y"
  ) +
  labs(
    x = "",
    y = "",
    title = "Predispositions"
  ) +
  scale_x_continuous(
    breaks = seq(-.4, .4, .1),
    labels = seq(-.4, .4, .1) %>% 
      str_replace_all("0\\.", "\\.")
  ) +
  theme_ipsum_rc(
    base_family = "Roboto Condensed"
    
  ) +
  theme(
    plot.title.position = "plot",
    panel.grid.minor = element_blank(),
    strip.text.y = element_text(angle = 0),
    strip.text.x = element_blank(),
    plot.margin = margin(0, 0, 0, 0, unit = "pt")
  ) 

p_com <- pc_1 / pc_2 / pc_3 + plot_layout(heights = c(3.9, 3.2, 3.9))

showtext_auto()

p_com 

#ggsave(
# plot = p_com,
#  "fig3.eps", 
#  width = 7,
#  height = 10,
#  device = "eps"
#)
